]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionPrefs: Simplify state change handling
authorFlorian Müllner <fmuellner@gnome.org>
Sat, 30 Nov 2019 05:01:44 +0000 (06:01 +0100)
committerFlorian Müllner <florian.muellner@gmail.com>
Thu, 5 Dec 2019 15:24:34 +0000 (15:24 +0000)
The new `ExtensionStateChanged` signal already passes the changed
extension object, no need to request it again with `GetExtensionInfo`.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/873

js/extensionPrefs/main.js

index 163d6dbfe70221582362d558470dc16a9f545e2e..387f7f325b6ed321687e2333d0808c929fdc5cf9 100644 (file)
@@ -258,23 +258,15 @@ class Application extends Gtk.Application {
     }
 
     _onExtensionStateChanged(proxy, senderName, [uuid, newState]) {
+        let extension = ExtensionUtils.deserializeExtension(newState);
         let row = this._findExtensionRow(uuid);
+
         if (row) {
-            let { state } = ExtensionUtils.deserializeExtension(newState);
-            if (state == ExtensionState.UNINSTALLED)
+            if (extension.state === ExtensionState.UNINSTALLED)
                 row.destroy();
             return; // we only deal with new and deleted extensions here
         }
-
-        this._shellProxy.GetExtensionInfoRemote(uuid, ([serialized]) => {
-            let extension = ExtensionUtils.deserializeExtension(serialized);
-            if (!extension)
-                return;
-            // check the extension wasn't added in between
-            if (this._findExtensionRow(uuid) != null)
-                return;
-            this._addExtensionRow(extension);
-        });
+        this._addExtensionRow(extension);
     }
 
     _scanExtensions() {